package com.wolf.system.interceptor;

import com.wolf.constant.SessionKey;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @author sdyang
 * @create 2018-10-01 14:32
 */
public class LoginInterceptor extends HandlerInterceptorAdapter {

    /**
    * @Description //TODO
    * 预处理回调方法，实现处理器的预处理（如登录检查）。
    *第三个参数为响应的处理器，即controller。
    *返回true，表示继续流程，调用下一个拦截器或者处理器。
    *返回false，表示流程中断，通过response产生响应。
    * @Param [request, response, handler]
    * @return boolean
    * @Author Marco
    * @Date 2018/11/3 17:32
    **/
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        if(request.getSession().getAttribute(SessionKey.USERINFO.getCode()) == null) {
            response.sendRedirect(request.getContextPath()+"/login");
            return false;
        }
        return true;
    }
}